In general, the term "embedded system" connotes a combination of computer hardware and software that forms a component of some larger system. Embedded systems are intended to operate without intervention by the larger system of which they form a part, and without the need for frequent control or supervisory inputs from any source. Embedded systems are usually of simple design, and often do not include mass storage components or complex peripherals.
Embedded systems have been placed in vending machines to provide a simple computer network interface to report the need for service or vended product replenishment. Some copying machines in the office environment also utilize embedded systems for reporting of operational status, and embedded systems have been suggested in television set-top boxes designed to provide Internet web browser features through the viewer's television set.
More complex control applications represent a real challenge for embedded systems, however. Because an embedded system generally lacks large-scale storage capability, conventional methods of information interchange that are common over computer networks such as the Internet have generally been eschewed in favor of much simpler protocols.
But the communication capability of the web browser-web server interconnection promises great flexibility for control applications. Graphics-rich web pages with embedded hypertext links offer intuitive status and control environments that are attractive to the designers of embedded control applications.
Caching systems have been suggested as one way to avoid burdening the limited storage capability of embedded systems. In a caching system, a data entity is stored on a system, retrieved, then saved on the referencing device in a cache in order to reduce system overhead in response to subsequent references. However, caching cannot deal with a scenario in which the referenced object has never been stored. Due largely to this limitation, caching is not generally considered appropriate in command and control applications.
Libraries of objects for which a need is anticipated can overcome some of the onerous storage requirements of large objects. But libraries suffer from at least two shortcomings that make their use with embedded systems less attractive.
First, libraries can only store specific objects for which a need is anticipated. A library cannot dynamically support a request for objects of a certain type, for example, rather than a request for an object of a certain name. And, if the requested object type is not located in the library, the library cannot dynamically conduct an ordered search of other libraries in an effort to locate instances of the requested object type, since the order would vary with the type of requested object.
Second, a library cannot store sets of commonly used parameter values, nor can a library make decisions concerning default parameter values, or the best values to use for a given situation described by another set of parameters.
Accordingly, a need arises for an information interchange capability aimed at embedded systems that allows these streamlined microcomputers to implement status and control applications using the graphics capabilities of web browser programs over the Internet and World Wide Web, as well as over other types of computer networks.